package com.alks.function.service.stockdept.pcfactorystockquery;

import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.request.stockdept.pcfactorystockwork.CsmDetAddRequest;
import com.alks.function.data.request.stockdept.pcfactorystockwork.CsmDetRequest;

import java.math.BigDecimal;

public interface IConsuOutService {
    /**
     * 耗品出库查询-待出库明细-查询
     * @return 返回结果
     */
    ResponseInfo getCsmOutTempQuery();

    /**
     * 耗品出库查询-待出耗品新增-新增
     * @param mtlNo 耗品物料ID
     * @return 返回结果
     */
    ResponseInfo csmOutTempAdd(String mtlNo);

    /**
     * 耗品出库查询-待出耗品修改-更新
     * @param mtlNo 耗品物料ID
     * @param qty 出库数量
     * @param remark 备注
     * @return 返回结果
     */
    ResponseInfo csmOutTempUpdate(String mtlNo, BigDecimal qty, String remark);

    /**
     * 耗品出库查询-待出耗品删除-删除
     * @param mtlNo 耗品物料ID
     * @return 返回结果
     */
    ResponseInfo csmOutTempDelete(String mtlNo);

    /**
     * 耗品出库查询-其他材料出库明细-可条件查询
     * @param request 请求参数
     * @return 返回结果
     */
    ResponseInfo getCsmOutDetQuery(CsmDetRequest request);

    /**
     * 耗品出库查询-耗品明细删除-删除
     * @param request 请求参数
     * @return 返回结果
     */
    ResponseInfo csmOutDetAdd(CsmDetAddRequest request);

    /**
     * 耗品出库查询-耗品明细删除-删除
     * @param mtlNo 耗品物料ID
     * @param slipNo 出库单号
     * @return 返回结果
     */
    ResponseInfo csmOutDetailDelete(String mtlNo, String slipNo);
}
